cura=draw_get_alpha();
var spr=argument0
var x_=argument1
var y_=argument2
var w=argument3
var h=argument4
var a=argument5
var curx,cury;
if w<0 {x_=x_+w;w=-w}
if h<0 {y_=y_+h;h=-h}
curx=x_
draw_set_alpha(a);
while(curx<x_+w)
{
cury=y_
while(cury<y_+h)
{
if curx+sprite_get_width(spr)<x_+w
 partx=sprite_get_width(spr) else
 partx=x_+w-curx;
if cury+sprite_get_height(spr)<y_+h
 party=sprite_get_height(spr) else
 party=y_+h-cury;
draw_sprite_part(spr,-1,0,0,partx,party,curx,cury);

cury+=sprite_get_height(spr);
}
curx+=sprite_get_width(spr);
}
draw_set_alpha(cura);
